package com.xiaoshuidi.cloud.module.contract.dal.dataobject.contract;

import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.xiaoshuidi.cloud.framework.mybatis.core.dataobject.BaseDO;
import com.xiaoshuidi.cloud.framework.tenant.core.db.TenantBaseDO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.time.LocalDateTime;

/**
 * 电子合同 DO
 *
 * @author 合房租赁
 */
@TableName("contract_electronic_contract")
@KeySequence("contract_electronic_contract_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ElectronicContractDO extends TenantBaseDO {

    /**
     * 主键ID
     */
    @TableId
    private Long id;
    /**
     * 甲方签约交易号
     */
    private String landlordTransactionId;
    /**
     * 甲方签约编码
     */
    private String landlordSignature;
    /**
     * 租客签约交易号
     */
    private String customerTransactionId;
    /**
     * 租客签约编码
     */
    private String customerSignature;
    /**
     * 电子合同状态(0, u"未签署"),
    (1, u"甲方已签署"),
    (2, u"双方已签署"),
     */
    private Integer status;
    /**
     * 第三方对接厂商
     */
    private Integer provide;
    /**
     * 合同预览url
     */
    private String viewpdfUrl;
    /**
     * 合同url
     */
    private String downloadUrl;
    /**
     * 合同ID
     */
    private String contractNum;
    /**
     * 房间合同号
     */
    private Long roomContractId;

    /**
     * 签约完成时间
     */
    private LocalDateTime completeTime;

    /**
     * 类型 rent租客合同 owner业主合同
     */
    private String type;

    /**
     * 业主合同编号
     */
    private Long ownerHouseContractId;

    @Schema(description = "0非手写板签约1手写板签约")
    private Integer signType;


}
